/**
 * 首页样式 - 现代简约蓝绿风格
 * 创建日期：2025-08-06
 * 更新日期：2025-01-20
 */

// 使用现代Sass语法导入主题
// 使用app.scss中定义的现代蓝绿风格变量

.index {
  min-height: 100vh;
  background: var(--background);
  background-image: 
    radial-gradient(circle at 20% 20%, rgba(113, 173, 186, 0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(90, 139, 150, 0.1) 0%, transparent 50%);
  padding: var(--spacing-3xl) var(--spacing-xl);
  padding-bottom: 140px; // 为底部 tabBar 预留空间
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  
  .header {
    text-align: center;
    margin-bottom: var(--spacing-3xl);
    position: relative;
    z-index: 1;
    
    .title {
      display: block;
      font-size: var(--font-size-3xl);
      font-weight: 300;
      color: var(--text-primary);
      margin-bottom: var(--spacing-lg);
      text-shadow: 0 4px 20px rgba(113, 173, 186, 0.1);
      letter-spacing: 1px;
    }
    
    .subtitle {
      display: block;
      font-size: var(--font-size-lg);
      color: var(--text-secondary);
      margin-bottom: var(--spacing-xxl);
      opacity: 0.8;
      font-weight: 300;
    }
  }

  // 已登录用户信息显示
  .user-info {
    width: 100%;
    max-width: 400px;
    background: var(--background-card);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-3xl);
    box-shadow: var(--shadow-card);
    border: 1px solid var(--border-light);
    text-align: center;
    position: relative;
    overflow: hidden;
    
    // 现代装饰线
    &::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: var(--primary-gradient);
    }
    
    .welcome-text {
      display: block;
      font-size: var(--font-size-xl);
      font-weight: 600;
      color: var(--text-primary);
      margin-bottom: var(--spacing-md);
    }
    
    .role-text {
      display: block;
      font-size: var(--font-size-md);
      color: var(--text-secondary);
      margin-bottom: var(--spacing-xl);
    }
    
    .continue-btn {
      width: 100%;
      background: var(--primary-color);
      color: var(--text-white);
      border: none;
      padding: var(--spacing-lg);
      border-radius: var(--border-radius-lg);
      font-size: var(--font-size-lg);
      font-weight: 600;
      margin-bottom: var(--spacing-md);
      transition: all var(--transition-normal);
      
      &:hover {
        background: var(--primary-dark);
        transform: translateY(-4rpx);
        box-shadow: var(--shadow-lg);
      }
    }
    
    .logout-btn {
      width: 100%;
      background: var(--background-light);
      color: var(--text-secondary);
      border: 2rpx solid var(--border-color);
      padding: var(--spacing-md);
      border-radius: var(--border-radius);
      font-size: var(--font-size-md);
      font-weight: 500;
      transition: all var(--transition-normal);
      
      &:hover {
        background: var(--background-overlay);
        border-color: var(--primary-color);
        color: var(--text-primary);
        transform: translateY(-2rpx);
      }
    }
  }

  // 角色选择区域
  .role-selection {
    width: 100%;
    max-width: 500px;
    
    .section-title {
      text-align: center;
      font-size: var(--font-size-xl);
      font-weight: 600;
      color: var(--accent-color);
      margin-bottom: var(--spacing-xl);
      position: relative;
      
      &::after {
        content: '';
        position: absolute;
        bottom: -16rpx;
        left: 50%;
        transform: translateX(-50%);
        width: 120rpx;
        height: 6rpx;
        background: var(--primary-gradient);
        border-radius: 4rpx;
      }
    }
    
    .role-cards {
      display: flex;
      flex-direction: column;
      gap: var(--spacing-lg);
    }
    
    .role-card {
      background: var(--background-card);
      border-radius: var(--border-radius-lg);
      padding: var(--spacing-xl);
      box-shadow: var(--shadow-card);
      border: 2rpx solid var(--border-light);
      transition: all var(--transition-normal);
      position: relative;
      overflow: hidden;
      text-align: center;
      
      // 现代装饰线
      &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 6rpx;
        background: var(--primary-gradient);
        transform: scaleX(0);
        transition: transform var(--transition-normal);
      }
      
      &:hover {
        transform: translateY(-8rpx);
        box-shadow: var(--shadow-lg);
        
        &::before {
          transform: scaleX(1);
        }
        
        .role-icon {
          transform: scale(1.1);
        }
      }
      
      &.chef {
        .role-icon {
          background: linear-gradient(135deg, #FF9A56, #FFB56A);
        }
      }
      
      &.guest {
        .role-icon {
          background: linear-gradient(135deg, var(--primary-color), var(--primary-light));
        }
      }
      
      .role-icon {
        width: 80px;
        height: 80px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 40px;
        margin: 0 auto var(--spacing-lg);
        transition: transform var(--transition-normal);
        box-shadow: var(--shadow-md);
      }
      
      .role-name {
        display: block;
        font-size: var(--font-size-xl);
        font-weight: 600;
        color: var(--text-primary);
        margin-bottom: var(--spacing-sm);
      }
      
      .role-desc {
        display: block;
        font-size: var(--font-size-sm);
        color: var(--text-secondary);
        line-height: 1.5;
        margin-bottom: var(--spacing-xl);
      }
      
      .login-buttons {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-md);
        
        .wechat-login-btn {
          background: var(--primary-color);
          color: var(--text-white);
          border: none;
          padding: var(--spacing-lg);
          border-radius: var(--border-radius-lg);
          font-size: var(--font-size-md);
          font-weight: 600;
          transition: all var(--transition-normal);
          
          &:hover {
            background: var(--primary-dark);
            transform: translateY(-2px);
            box-shadow: var(--shadow-md);
          }
          
          &::before {
            content: '💬 ';
            margin-right: var(--spacing-xs);
          }
        }
        
        .quick-login-btn {
          background: var(--background-light);
          color: var(--text-primary);
          border: 2px solid var(--border-color);
          padding: var(--spacing-md);
          border-radius: var(--border-radius);
          font-size: var(--font-size-sm);
          font-weight: 500;
          transition: all var(--transition-normal);
          
          &:hover {
            background: var(--background-overlay);
            border-color: var(--primary-color);
            transform: translateY(-1px);
          }
          
          &::before {
            content: '⚡ ';
            margin-right: var(--spacing-xs);
          }
        }
      }
    }
  }

  .footer {
    position: absolute;
    bottom: var(--spacing-xl);
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    
    .footer-text {
      font-size: var(--font-size-sm);
      color: var(--text-muted);
      opacity: 0.8;
    }
  }
}

// 响应式设计
@media screen and (max-width: 750px) {
  .index {
    padding: var(--spacing-xl) var(--spacing-lg);
    
    .header {
      .title {
        font-size: var(--font-size-xxl);
      }
    }
    
    .role-selection {
      .role-card {
        .role-icon {
          width: 64px;
          height: 64px;
          font-size: 32px;
        }
        
        .login-buttons {
          .wechat-login-btn,
          .quick-login-btn {
            padding: var(--spacing-md);
          }
        }
      }
    }
  }
}

// 加载动画
@keyframes slideUp {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.role-card {
  animation: slideUp 0.6s ease-out;
  
  &:nth-child(1) { animation-delay: 0.1s; }
  &:nth-child(2) { animation-delay: 0.2s; }
}

.user-info {
  animation: slideUp 0.6s ease-out;
}
